/*
 * ObjectInput.java
 *
 * Created on 19 de diciembre de 2004, 19:48
 */

package _06_ObjectStream;
import java.io.*;

public class ObjectInput {
    
    Objeto o;
	ObjectInputStream data;
    final String ARCHIVO = "Objetos.dat";
	
	public static void main(String[] args) {
        new ObjectInput();
	}

	public ObjectInput() {
        if (abrirArchivo()) {
        	leer();
        	cerrar();
        }
	}
	
	boolean abrirArchivo() {
        File f = new File(ARCHIVO);
        try {
        	data = new ObjectInputStream( new FileInputStream(f) );
            return true;
        } catch (IOException e) {
        	System.out.println(e.getMessage());
        	return false;
        }
	}
	
	void leer() {
		while( true ) {
			try {
				o = (Objeto) data.readObject();
                System.out.println(o.toString());
            } catch (EOFException e) {
            	break;
            } catch (IOException e) {
            	System.out.println("error en la lectura");
            	break;
            } catch (Exception e ) {
            	System.out.println(e.getMessage());
            	break;
            }
        }
	}
	
	void cerrar() {
		try {
            data.close();
		} catch (IOException e) {
            System.out.println(e.getMessage());
		}		
	}
}

